DC: A Deterministic, Deadlock-free Concurrent Programming Model

نویسنده

  • Nalini Vasudevan
چکیده

The advent of multicore processors has made concurrent programming models mandatory. However, most concurrent programming models come with a repertoire of problems. The two major ones are non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the interleaving caused by the schedule and depends only on the input behavior. A few concurrent models provide deterministic behavior by providing constructs like barriers and locks that impose additional synchronization, but the incorrect usage of these constructs leads to problems like deadlocks. In this paper, we propose DC, a new programming model that guarantees the two desirable properties of concurrency determinism and deadlock-freedom. Any program in this model will be deterministic; the output of the program will solely depend on the input and not on the interleaving of the tasks in the program. Additionally, the model cannot introduce deadlocks. We prove the correctness of our model and evaluate it with a set of examples. Keywords-Determinism, Deadlock-Freedom

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

D2C: Deterministic, Deadlock-free Concurrency

The advent of multicore processors has made concurrent programming languages mandatory. However, most concurrent programming models come with two major pitfalls: non-determinism and deadlocks. By determinism, we mean the output behavior of the program is independent of the scheduling choices (e.g., the operating system) and depends only on the input behavior. A few concurrent programming models...

متن کامل

VeriSHIM A BDD Verifier for SHIM

Concurrent programming languages have become more popular with the advent of multi-core systems. Shared memory is read or written atomically, by concurrent processes to prevent races. A typical mechanism is the use of locks. However, if locks are not acquired and released in the correct order, the result is a deadlock. In this paper, we propose a deadlock detection tool for a deterministic, con...

متن کامل

Two Way Concurrent Buffer System without Deadlock in Various Time Models Using Timed Automata

Two way buffer system is a system that exhibits transfer of data using two buffers concurrently. It includes processes that synchronize to exchange data with each other along with executing certain delays between these synchronizations. In existing Tiny Two Way Buffer System, both generators produce packets in half duplex manner in no time, deterministic time, and non deterministic time. Analys...

متن کامل

A Design Strategy for Deadlock-Free Concurrent Systems

When building concurrent systems, it would be useful to have a collection of reusable processes to perform standard tasks. However, without knowing certain details of the inner workings of these components, one can never be sure that they will not cause deadlock when connected to some particular network. Here we describe a hierarchical method for designing complex networks of communicating proc...

متن کامل

A Core Model for Choreographic Programming

We investigate the foundations of Choreographic Programming, a paradigm for writing concurrent programs that are deadlock free by construction, guided by the notion of computation. We start by introducing Minimal Choreographies (MC), a language that includes only the essential primitives of the paradigm. MC is minimal wrt Turing completeness: it implements all computable functions, and restrict...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011